perm filename TYPEIT.HDR[UOR,AIL] blob sn#248608 filedate 1976-11-21 generic text, type T, neo UTF8
comment this file, typeit.hdr gives symbolic names to the various
         typeit codes. it is meant to be used as a required source file.
;
require "[][]" delimiters;
define !invalid!typeits = [(];

define !deleted ← 0;
define !untyped ← 1;
define !bracketed ← 2;
define !string ← 3;
define !real ← 4;
define !integer ← 5;
define !set ← 6;
define !list ← 7;
define !procedure ← 8;
define !process ← 9;
define !event ← 10;
define !context ← 11;
define !reference ← 12;
define !record!pointer ← 13;
define !array ← 20 ;

forc i ← 14 stepc 1 untilc !array + 2 doc
	[redefine !invalid!typeits = cvms(!invalid!typeits) & cvs(i) &[,]; ] 
 endc

define !string!array ← !array + !string;
define !real!array ← !array + !real;
define !integer!array ← !array + !integer;
define !set!array ← !array + !set;
define !list!array ← !array + !list;
define !context!array ← !array + !context;
define !record!pointer!array ← !array + !record!pointer;

forc i ← !list!array + 1 stepc 1 untilc !context!array - 1 doc
	[ ifcr i neq !record!pointer!array thenc
               redefine !invalid!typeits = cvms(!invalid!typeits) & cvs(i) &[,];
          endc
        ]
   endc

forc i ← !context!array +1 stepc 1 untilc 36 doc
	[redefine !invalid!typeits = cvms(!invalid!typeits)& cvs(i) & [,]; ]
   endc

redefine !invalid!typeits "{}" = cvms(!invalid!typeits)[1 to inf-1] & {)};

require unstack!delimiters;